/*
 * Copyright (c) 2015—2030 GantSoftware.Co.Ltd. All rights reserved.
 *  <p>
 *  Unless required by applicable law or agreed to in writing, software
 *  is not allowed to be distributed or copied without the license from
 *  GantSoftware.Co.Ltd. Please contact the company for more information.
 */
package com.gantang.gax.engine.service;

import com.gantang.gax.engine.eo.Engine;
import com.gantang.gax.engine.model.EngineCreator;

/**
 * 引擎创建服务
 */
public interface EngineCreatorService {
    /**
     * 校验引擎
     *
     * @param engineCreator
     * @return
     */
    Boolean valid(EngineCreator engineCreator);

    /**
     * 同步方式创建引擎
     *
     * @param engineCreator
     * @return
     */
    Engine create(EngineCreator engineCreator);

    /**
     * 异步方式创建引擎
     *
     * @param engineCreator
     * @return
     */
    Engine asyncCreate(EngineCreator engineCreator);
}
